<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   Python 分发工具初探之 setuptools  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://dataunion.org/23007.html",
                  host: "http://dataunion.org",
                  prePath: "http://dataunion.org",
                  scheme: "http",
                  pathBase: "http://dataunion.org/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466460933: Accept with keywords: (title(0.25):Python,工具,数盟,社区, topn(0.266666666667):社区,数盟,深度学习,行业资讯,作者,数据挖掘,版权,工具,目录,数据分析,文件,Python,职业规划,用法,基础架构,文章,可视化,数据,商业用途,项目,python,篇文章,功能,进阶,编程语言,新建,程序,人工智能,内容,行业).-->
 </head>
 <body onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    Python 分发工具初探之 setuptools
   </h1>
  </div>
  <div class="container" id="xmain">
   ﻿﻿
   <title>
    Python 分发工具初探之 setuptools | 数盟社区
   </title>
   <!-- All in One SEO Pack 2.2.7.6.2 by Michael Torbert of Semper Fi Web Design[32,72] -->
   <!-- /all in one seo pack -->
   <!--
<div align="center">
<a href="http://strata.oreilly.com.cn/hadoop-big-data-cn?cmp=mp-data-confreg-home-stcn16_dataunion_pc" target="_blank"><img src="http://dataunion.org/wp-content/uploads/2016/05/stratabj.jpg"/ ></a>
</div>
-->
   <header id="header-web">
    <div class="header-main">
     <hgroup class="logo">
      <h1>
       <a href="http://dataunion.org/" rel="home" title="数盟社区">
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/logo.png"/>
       </a>
      </h1>
     </hgroup>
     <!--logo-->
     <nav class="header-nav">
      <ul class="menu" id="menu-%e4%b8%bb%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-71" id="menu-item-71">
        <a href="http://dataunion.org/category/events" title="events">
         活动
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22457" id="menu-item-22457">
          <a href="http://dataunion.org/2016timeline">
           2016档期
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22459" id="menu-item-22459">
          <a href="http://dataunion.org/category/parterc">
           合作会议
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-20869" id="menu-item-20869">
        <a href="http://dataunion.org/category/tech" title="articles">
         文章
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20867" id="menu-item-20867">
          <a href="http://dataunion.org/category/tech/base" title="base">
           基础架构
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3302" id="menu-item-3302">
          <a href="http://dataunion.org/category/tech/ai" title="ai">
           人工智能
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3303" id="menu-item-3303">
          <a href="http://dataunion.org/category/tech/analysis" title="analysis">
           数据分析
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21920" id="menu-item-21920">
          <a href="http://dataunion.org/category/tech/dm">
           数据挖掘
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3314" id="menu-item-3314">
          <a href="http://dataunion.org/category/tech/viz" title="viz">
           可视化
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3305" id="menu-item-3305">
          <a href="http://dataunion.org/category/tech/devl" title="devl">
           编程语言
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-20876" id="menu-item-20876">
        <a href="http://dataunion.org/category/industry">
         行业
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16328" id="menu-item-16328">
          <a href="http://dataunion.org/category/industry/case" title="case">
           行业应用
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2112" id="menu-item-2112">
          <a href="http://dataunion.org/category/industry/demo" title="demo">
           Demo展示
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21562" id="menu-item-21562">
          <a href="http://dataunion.org/category/industry/news">
           行业资讯
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-311" id="menu-item-311">
        <a href="http://dataunion.org/category/sources" title="sources">
         资源
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20870" id="menu-item-20870">
        <a href="http://dataunion.org/category/books" title="book">
         图书
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21363" id="menu-item-21363">
        <a href="http://dataunion.org/category/training">
         课程
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-21853" id="menu-item-21853">
        <a href="http://dataunion.org/category/jobs">
         职位
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22050" id="menu-item-22050">
          <a href="http://dataunion.org/category/career">
           职业规划
          </a>
         </li>
        </ul>
       </li>
      </ul>
     </nav>
     <!--header-nav-->
    </div>
   </header>
   <!--header-web-->
   <div id="main">
    <div id="soutab">
     <form action="http://dataunion.org/" class="search" method="get">
     </form>
    </div>
    <div id="container">
     <nav id="mbx">
      当前位置：
      <a href="http://dataunion.org">
       首页
      </a>
      &gt;
      <a href="http://dataunion.org/category/tech">
       文章
      </a>
      &gt;  正文
     </nav>
     <!--mbx-->
     <article class="content">
      <header align="centre" class="contenttitle">
       <div class="mscc">
        <h1 class="mscctitle">
         <a href="http://dataunion.org/23007.html">
          Python 分发工具初探之 setuptools
         </a>
        </h1>
        <address class="msccaddress ">
         <em>
          465 次阅读 -
         </em>
         <a href="http://dataunion.org/category/tech" rel="category tag">
          文章
         </a>
        </address>
       </div>
      </header>
      <div class="content-text">
       <blockquote>
        <p>
         这篇文章主要介绍了一下 setuptools 是什么，以及它的功能和特点，并且介绍了如何使用它来创建和安装使用自己的包，这篇文章仅仅讲了最基本的功能和用法，一些对于进阶的用法会在下篇文章中进行介绍。
        </p>
       </blockquote>
       <h1 id="0x00_setuptools_是什么">
        0x00 setuptools 是什么
       </h1>
       <h2 id="setuptools_与_disutils">
        setuptools 与 disutils
       </h2>
       <p>
        我们通常所知道的 Python 分发工具是 Python disutils， setuptools 可以说是它的增强版，它能帮助我们更好的创建和分发 Python 的包，尤其是具有复杂依赖关系的包。对于开发者来说，能够更好的组织自己项目的分发和发布；对于用户来说，不需要安装 setuputils 也可以使用由它创建的包，只需要一个启动模块即可。
       </p>
       <p>
        实现这样的的包管理机制主要由两部分构成：
       </p>
       <ul>
        <li>
         一个存储在 Python 官方网站的集中式仓库，名叫 Python Package Index（PyPI）
        </li>
        <li>
         另外就是基于 disutils 开发的 setuptools 包管理系统
        </li>
       </ul>
       <p>
        它提供的内容包括：
       </p>
       <ul>
        <li>
         用来提供标准元数据字段：诸如作者名、版权类型等信息的骨架
        </li>
        <li>
         一组用来将包中的代码来构建软件安装包的辅助工具
        </li>
       </ul>
       <p>
        disutils 仅仅适用于包，它无法定义包之间的依赖关系。但是 setuptools 通过添加一个基本的依赖系统以及许多相关功能，弥补了该缺陷。他还提供了自动包查询程序，用来自动获取包之间的依赖关系，并完成这些包的安装，大大降低了安装各种包的难度，使之更加方便。
       </p>
       <h2 id="相关功能">
        相关功能
       </h2>
       <ul>
        <li>
         利用 EasyInstall 自动查找、下载、安装升级依赖包
        </li>
        <li>
         能够创建 Python Eggs、
        </li>
        <li>
         包含目录中的数据文件和包，不需要在
         <code>
          setup()
         </code>
         函数中一一列举出来
        </li>
        <li>
         自动包含包内和发布有关的所有相关文件，而不用创建一个
         <code>
          MANIFEST.in
         </code>
         文件
        </li>
        <li>
         自动生成经过包装的脚本
        </li>
        <li>
         支持Pyrex，即在可以
         <code>
          setup.py
         </code>
         中列出
         <code>
          .pyx
         </code>
         文件，而最终用户无须安装Pyrex
        </li>
        <li>
         支持上传到 PyPI
        </li>
        <li>
         可以部署开发模式，使项目在sys.path中
        </li>
        <li>
         用新命令或
         <code>
          setup()
         </code>
         参数扩展distutils，为多个项目发布/重用扩展
        </li>
        <li>
         在项目的
         <code>
          setup()
         </code>
         中简单声明
         <code>
          entry points
         </code>
         ，创建可以自动发现扩展的应用和框架
        </li>
       </ul>
       <h1 id="0x01_安装_setuptools">
        0x01 安装 setuptools
       </h1>
       <h2 id="**Ubuntu：">
        **Ubuntu：
       </h2>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b03629f7755945682" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          sudo apt-get install python-setuptools
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b03629f7755945682-1">
               1
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b03629f7755945682-1">
               <span class="crayon-e">
                sudo
               </span>
               <span class="crayon-v">
                apt
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-e">
                get
               </span>
               <span class="crayon-e">
                install
               </span>
               <span class="crayon-v">
                python
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                setuptools
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0098 seconds] -->
       <p>
       </p>
       <h2 id="Mac：">
        Mac：
       </h2>
       <p>
        安装 wget：
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a08283926007" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          curl -O http://ftp.gnu.org/gnu/wget/wget-1.13.4.tar.gz
tar -xzvf wget-1.13.4.tar.gz
cd wget-1.13.4
./configure
make
sudo make install
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a08283926007-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a08283926007-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a08283926007-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a08283926007-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a08283926007-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a08283926007-6">
               6
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a08283926007-1">
               <span class="crayon-v">
                curl
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-i">
                O
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                http
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                ftp
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                gnu
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                org
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                gnu
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                wget
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                wget
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                1.13.4.tar.gz
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a08283926007-2">
               <span class="crayon-v">
                tar
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-e">
                xzvf
               </span>
               <span class="crayon-v">
                wget
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                1.13.4.tar.gz
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a08283926007-3">
               <span class="crayon-k ">
                cd
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                wget
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                1.13.4
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a08283926007-4">
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-e">
                configure
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a08283926007-5">
               <span class="crayon-e">
                make
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a08283926007-6">
               <span class="crayon-e">
                sudo
               </span>
               <span class="crayon-e">
                make
               </span>
               <span class="crayon-v">
                install
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0145 seconds] -->
       <p>
       </p>
       <p>
        安装 setuputils：
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a0f471099839" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a0f471099839-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a0f471099839-2">
               2
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a0f471099839-1">
               <span class="crayon-e">
                wget
               </span>
               <span class="crayon-v">
                http
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                peak
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                telecommunity
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                com
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                dist
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                ez_setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-e">
                py
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a0f471099839-2">
               <span class="crayon-e">
                sudo
               </span>
               <span class="crayon-e">
                python
               </span>
               <span class="crayon-v">
                ez_setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                py
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0014 seconds] -->
       <p>
       </p>
       <h1 id="0x02_创建一个简单的包">
        0x02 创建一个简单的包
       </h1>
       <h2 id="创建一个空的包">
        创建一个空的包
       </h2>
       <p>
        <strong>
         新建一个 demo 目录
        </strong>
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a16494572850" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          mkdir demo1
cd demo1
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a16494572850-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a16494572850-2">
               2
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a16494572850-1">
               <span class="crayon-e">
                mkdir
               </span>
               <span class="crayon-e">
                demo1
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a16494572850-2">
               <span class="crayon-k ">
                cd
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                demo1
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0007 seconds] -->
       <p>
       </p>
       <p>
        <strong>
         在目录下新建
         <code>
          setup.py
         </code>
         文件
        </strong>
       </p>
       <figure class="highlight python">
        <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
        <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a1c666425504" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
         <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <span class="crayon-title">
          </span>
          <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-wrap-button" title="切换自动换行">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-expand-button" title="点击展开代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-copy-button" title="复制代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <span class="crayon-language">
            Python
           </span>
          </div>
         </div>
         <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
         </div>
         <div class="crayon-plain-wrap">
          <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
           from setuptools import setup, find_packages

setup(
name = 'demo1',
version = '0.1',
packages = find_packages(),
)
          </textarea>
         </div>
         <div class="crayon-main" style="">
          <table class="crayon-table">
           <tbody>
            <tr class="crayon-row">
             <td class="crayon-nums " data-settings="show">
              <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
               <div class="crayon-num" data-line="crayon-57686b0362a1c666425504-1">
                1
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a1c666425504-2">
                2
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a1c666425504-3">
                3
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a1c666425504-4">
                4
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a1c666425504-5">
                5
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a1c666425504-6">
                6
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a1c666425504-7">
                7
               </div>
              </div>
             </td>
             <td class="crayon-code">
              <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
               <div class="crayon-line" id="crayon-57686b0362a1c666425504-1">
                <span class="crayon-st">
                 from
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 setuptools
                </span>
                <span class="crayon-r">
                 import
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 setup
                </span>
                <span class="crayon-sy">
                 ,
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 find_packages
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a1c666425504-2">
               </div>
               <div class="crayon-line" id="crayon-57686b0362a1c666425504-3">
                <span class="crayon-e">
                 setup
                </span>
                <span class="crayon-sy">
                 (
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a1c666425504-4">
                <span class="crayon-v">
                 name
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 'demo1'
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a1c666425504-5">
                <span class="crayon-v">
                 version
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 '0.1'
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a1c666425504-6">
                <span class="crayon-v">
                 packages
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 find_packages
                </span>
                <span class="crayon-sy">
                 (
                </span>
                <span class="crayon-sy">
                 )
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a1c666425504-7">
                <span class="crayon-sy">
                 )
                </span>
               </div>
              </div>
             </td>
            </tr>
           </tbody>
          </table>
         </div>
        </div>
        <!-- [Format Time: 0.0139 seconds] -->
        <br/>
        <p>
        </p>
       </figure>
       <p>
        <strong>
         将该项目打包
        </strong>
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a22489085407" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          python setup.py bdist_egg
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a22489085407-1">
               1
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a22489085407-1">
               <span class="crayon-e">
                python
               </span>
               <span class="crayon-v">
                setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-e">
                py
               </span>
               <span class="crayon-v">
                bdist_egg
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0007 seconds] -->
       <p>
       </p>
       <p>
        <strong>
         这时我们查看该项目目录：
        </strong>
       </p>
       <figure class="highlight plain">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a29404358303" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          demo1
|--build
|   `--bdist.macosx-10.11-intel
|--demo1.egg-info
|  |--dependency_links.txt
|  |--PKG-INFO
|  |--SOURCES.txt
|  `--top_level.txt
|--dist
|  `--demo1-0.1-py2.7.egg
`--setup.py
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a29404358303-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a29404358303-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a29404358303-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-7">
               7
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a29404358303-8">
               8
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-9">
               9
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a29404358303-10">
               10
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a29404358303-11">
               11
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a29404358303-1">
               <span class="crayon-v">
                demo1
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a29404358303-2">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                build
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a29404358303-3">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                `
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                bdist
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                macosx
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                10.11
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                intel
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a29404358303-4">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                demo1
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                egg
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                info
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a29404358303-5">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                dependency_links
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                txt
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a29404358303-6">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                PKG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a29404358303-7">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                SOURCES
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                txt
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a29404358303-8">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                `
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                top_level
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                txt
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a29404358303-9">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                dist
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a29404358303-10">
               <span class="crayon-o">
                |
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                `
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                demo1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                0.1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                py2
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-cn">
                7.egg
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a29404358303-11">
               <span class="crayon-sy">
                `
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-v">
                setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                py
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0124 seconds] -->
       <p>
       </p>
       <p>
        我们看到在
        <code>
         dist
        </code>
        目录中的就是生成的 egg 包，将其解压：
       </p>
       <figure class="highlight plain">
        <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
        <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a2e019919072" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
         <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <span class="crayon-title">
          </span>
          <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-wrap-button" title="切换自动换行">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-expand-button" title="点击展开代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-copy-button" title="复制代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <span class="crayon-language">
            Python
           </span>
          </div>
         </div>
         <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
         </div>
         <div class="crayon-plain-wrap">
          <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
           unzip -l demo1-0.1-py2.7.egg

Archive:  demo1-0.1-py2.7.egg
Length     Date   Time    Name
--------    ----   ----    ----
1  03-22-16 23:29   EGG-INFO/dependency_links.txt
177  03-22-16 23:29   EGG-INFO/PKG-INFO
124  03-22-16 23:29   EGG-INFO/SOURCES.txt
1  03-22-16 23:29   EGG-INFO/top_level.txt
1  03-22-16 23:29   EGG-INFO/zip-safe
--------                   -------
304                   5 files
          </textarea>
         </div>
         <div class="crayon-main" style="">
          <table class="crayon-table">
           <tbody>
            <tr class="crayon-row">
             <td class="crayon-nums " data-settings="show">
              <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-1">
                1
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-2">
                2
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-3">
                3
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-4">
                4
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-5">
                5
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-6">
                6
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-7">
                7
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-8">
                8
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-9">
                9
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-10">
                10
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a2e019919072-11">
                11
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a2e019919072-12">
                12
               </div>
              </div>
             </td>
             <td class="crayon-code">
              <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-1">
                <span class="crayon-v">
                 unzip
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-i">
                 l
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 demo1
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 0.1
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 py2
                </span>
                <span class="crayon-sy">
                 .
                </span>
                <span class="crayon-cn">
                 7.egg
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-2">
               </div>
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-3">
                <span class="crayon-v">
                 Archive
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 demo1
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 0.1
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 py2
                </span>
                <span class="crayon-sy">
                 .
                </span>
                <span class="crayon-cn">
                 7.egg
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-4">
                <span class="crayon-e">
                 Length
                </span>
                <span class="crayon-e">
                 Date
                </span>
                <span class="crayon-k ">
                 Time
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 Name
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-5">
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-6">
                <span class="crayon-cn">
                 1
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 03
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 22
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 16
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 23
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-cn">
                 29
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 EGG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 INFO
                </span>
                <span class="crayon-o">
                 /
                </span>
                <span class="crayon-v">
                 dependency_links
                </span>
                <span class="crayon-sy">
                 .
                </span>
                <span class="crayon-i">
                 txt
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-7">
                <span class="crayon-cn">
                 177
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 03
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 22
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 16
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 23
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-cn">
                 29
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 EGG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 INFO
                </span>
                <span class="crayon-o">
                 /
                </span>
                <span class="crayon-v">
                 PKG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-i">
                 INFO
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-8">
                <span class="crayon-cn">
                 124
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 03
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 22
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 16
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 23
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-cn">
                 29
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 EGG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 INFO
                </span>
                <span class="crayon-o">
                 /
                </span>
                <span class="crayon-v">
                 SOURCES
                </span>
                <span class="crayon-sy">
                 .
                </span>
                <span class="crayon-i">
                 txt
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-9">
                <span class="crayon-cn">
                 1
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 03
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 22
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 16
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 23
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-cn">
                 29
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 EGG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 INFO
                </span>
                <span class="crayon-o">
                 /
                </span>
                <span class="crayon-v">
                 top_level
                </span>
                <span class="crayon-sy">
                 .
                </span>
                <span class="crayon-i">
                 txt
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-10">
                <span class="crayon-cn">
                 1
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 03
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 22
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-cn">
                 16
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 23
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-cn">
                 29
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 EGG
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 INFO
                </span>
                <span class="crayon-o">
                 /
                </span>
                <span class="crayon-k ">
                 zip
                </span>
                <span class="crayon-o">
                 -
                </span>
                <span class="crayon-v">
                 safe
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a2e019919072-11">
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 --
                </span>
                <span class="crayon-o">
                 -
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a2e019919072-12">
                <span class="crayon-cn">
                 304
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-cn">
                 5
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 files
                </span>
               </div>
              </div>
             </td>
            </tr>
           </tbody>
          </table>
         </div>
        </div>
        <!-- [Format Time: 0.0312 seconds] -->
        <br/>
        <p>
        </p>
       </figure>
       <p>
        以上的程序是最简单的一个
        <code>
         setup.py
        </code>
        程序，如果想要发布到 PyPI 就需要参考官方给出的
        <a href="http://pythonhosted.org/setuptools/setuptools.html#basic-use" rel="external" target="_blank">
         示例
        </a>
        ：
       </p>
       <figure class="highlight python">
        <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
        <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a35941537382" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
         <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <span class="crayon-title">
          </span>
          <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-wrap-button" title="切换自动换行">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-expand-button" title="点击展开代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-copy-button" title="复制代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
            <div class="crayon-button-icon">
            </div>
           </div>
           <span class="crayon-language">
            Python
           </span>
          </div>
         </div>
         <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
         </div>
         <div class="crayon-plain-wrap">
          <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
           from setuptools import setup, find_packages
setup(
name = "HelloWorld",
version = "0.1",
packages = find_packages(),
scripts = ['say_hello.py'],

# Project uses reStructuredText, so ensure that the docutils get
# installed or upgraded on the target machine
install_requires = ['docutils&gt;=0.3'],

package_data = {
# If any package contains *.txt or *.rst files, include them:
'': ['*.txt', '*.rst'],
# And include any *.msg files found in the 'hello' package, too:
'hello': ['*.msg'],
},

# metadata for upload to PyPI
author = "Me",
author_email = "me@example.com",
description = "This is an Example Package",
license = "PSF",
keywords = "hello world example examples",
url = "http://example.com/HelloWorld/",   # project home page, if any

# could also include long_description, download_url, classifiers, etc.
)
          </textarea>
         </div>
         <div class="crayon-main" style="">
          <table class="crayon-table">
           <tbody>
            <tr class="crayon-row">
             <td class="crayon-nums " data-settings="show">
              <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-1">
                1
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-2">
                2
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-3">
                3
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-4">
                4
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-5">
                5
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-6">
                6
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-7">
                7
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-8">
                8
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-9">
                9
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-10">
                10
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-11">
                11
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-12">
                12
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-13">
                13
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-14">
                14
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-15">
                15
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-16">
                16
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-17">
                17
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-18">
                18
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-19">
                19
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-20">
                20
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-21">
                21
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-22">
                22
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-23">
                23
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-24">
                24
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-25">
                25
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-26">
                26
               </div>
               <div class="crayon-num" data-line="crayon-57686b0362a35941537382-27">
                27
               </div>
               <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a35941537382-28">
                28
               </div>
              </div>
             </td>
             <td class="crayon-code">
              <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
               <div class="crayon-line" id="crayon-57686b0362a35941537382-1">
                <span class="crayon-st">
                 from
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 setuptools
                </span>
                <span class="crayon-r">
                 import
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-v">
                 setup
                </span>
                <span class="crayon-sy">
                 ,
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 find_packages
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-2">
                <span class="crayon-e">
                 setup
                </span>
                <span class="crayon-sy">
                 (
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-3">
                <span class="crayon-v">
                 name
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "HelloWorld"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-4">
                <span class="crayon-v">
                 version
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "0.1"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-5">
                <span class="crayon-v">
                 packages
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-e">
                 find_packages
                </span>
                <span class="crayon-sy">
                 (
                </span>
                <span class="crayon-sy">
                 )
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-6">
                <span class="crayon-v">
                 scripts
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-sy">
                 [
                </span>
                <span class="crayon-s">
                 'say_hello.py'
                </span>
                <span class="crayon-sy">
                 ]
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-7">
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-8">
                <span class="crayon-c">
                 # Project uses reStructuredText, so ensure that the docutils get
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-9">
                <span class="crayon-c">
                 # installed or upgraded on the target machine
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-10">
                <span class="crayon-v">
                 install_requires
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-sy">
                 [
                </span>
                <span class="crayon-s">
                 'docutils&gt;=0.3'
                </span>
                <span class="crayon-sy">
                 ]
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-11">
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-12">
                <span class="crayon-v">
                 package_data
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-sy">
                 {
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-13">
                <span class="crayon-c">
                 # If any package contains *.txt or *.rst files, include them:
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-14">
                <span class="crayon-s">
                 ''
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-sy">
                 [
                </span>
                <span class="crayon-s">
                 '*.txt'
                </span>
                <span class="crayon-sy">
                 ,
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 '*.rst'
                </span>
                <span class="crayon-sy">
                 ]
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-15">
                <span class="crayon-c">
                 # And include any *.msg files found in the 'hello' package, too:
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-16">
                <span class="crayon-s">
                 'hello'
                </span>
                <span class="crayon-o">
                 :
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-sy">
                 [
                </span>
                <span class="crayon-s">
                 '*.msg'
                </span>
                <span class="crayon-sy">
                 ]
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-17">
                <span class="crayon-sy">
                 }
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-18">
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-19">
                <span class="crayon-c">
                 # metadata for upload to PyPI
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-20">
                <span class="crayon-v">
                 author
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "Me"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-21">
                <span class="crayon-v">
                 author_email
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "me@example.com"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-22">
                <span class="crayon-v">
                 description
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "This is an Example Package"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-23">
                <span class="crayon-r">
                 license
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "PSF"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-24">
                <span class="crayon-v">
                 keywords
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "hello world example examples"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-25">
                <span class="crayon-v">
                 url
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-o">
                 =
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-s">
                 "http://example.com/HelloWorld/"
                </span>
                <span class="crayon-sy">
                 ,
                </span>
                <span class="crayon-h">
                </span>
                <span class="crayon-c">
                 # project home page, if any
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-26">
               </div>
               <div class="crayon-line" id="crayon-57686b0362a35941537382-27">
                <span class="crayon-c">
                 # could also include long_description, download_url, classifiers, etc.
                </span>
               </div>
               <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a35941537382-28">
                <span class="crayon-sy">
                 )
                </span>
               </div>
              </div>
             </td>
            </tr>
           </tbody>
          </table>
         </div>
        </div>
        <!-- [Format Time: 0.0081 seconds] -->
        <br/>
        <p>
        </p>
       </figure>
       <h2 id="给包中添加内容">
        给包中添加内容
       </h2>
       <p>
        我们上边生成的 egg 是一个空的，没有实际的内容，现在我们来添加一些内容：
       </p>
       <p>
        <strong>
         在项目目录新建一个目录：
        </strong>
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a3c410228763" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          mkdir test
cd test
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a3c410228763-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a3c410228763-2">
               2
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a3c410228763-1">
               <span class="crayon-e">
                mkdir
               </span>
               <span class="crayon-k ">
                test
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a3c410228763-2">
               <span class="crayon-k ">
                cd
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0008 seconds] -->
       <p>
       </p>
       <p>
        <strong>
         新建
         <code>
          __init__.py
         </code>
         ,加入如下代码：
        </strong>
       </p>
       <figure class="highlight python">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a42536490692" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          #-*- coding:utf-8 -*-

def test():
print "hello world!"  

if __name__ == '__main__':
test()
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a42536490692-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a42536490692-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a42536490692-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a42536490692-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a42536490692-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a42536490692-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a42536490692-7">
               7
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a42536490692-1">
               <span class="crayon-c">
                #-*- coding:utf-8 -*-
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a42536490692-2">
              </div>
              <div class="crayon-line" id="crayon-57686b0362a42536490692-3">
               <span class="crayon-r">
                def
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-o">
                :
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a42536490692-4">
               <span class="crayon-k ">
                print
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                "hello world!"
               </span>
               <span class="crayon-h">
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a42536490692-5">
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a42536490692-6">
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                __name__
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                ==
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                '__main__'
               </span>
               <span class="crayon-o">
                :
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a42536490692-7">
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0014 seconds] -->
       <p>
       </p>
       <p>
        <strong>
         再次生成 egg 包：
        </strong>
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a48045033683" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          python setup.py bdist_egg
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a48045033683-1">
               1
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a48045033683-1">
               <span class="crayon-e">
                python
               </span>
               <span class="crayon-v">
                setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-e">
                py
               </span>
               <span class="crayon-v">
                bdist_egg
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0007 seconds] -->
       <p>
       </p>
       <p>
        查看 egg 包内容：
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a4e939489509" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          unzip -l demo1-0.1-py2.7.egg
Archive:  demo1-0.1-py2.7.egg
Length     Date   Time    Name
--------    ----   ----    ----
1  03-22-16 23:51   EGG-INFO/dependency_links.txt
177  03-22-16 23:51   EGG-INFO/PKG-INFO
141  03-22-16 23:51   EGG-INFO/SOURCES.txt
5  03-22-16 23:51   EGG-INFO/top_level.txt
1  03-22-16 23:51   EGG-INFO/zip-safe
102  03-22-16 23:48   test/__init__.py
354  03-22-16 23:51   test/__init__.pyc
--------                   -------
781                   7 files
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-7">
               7
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-8">
               8
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-9">
               9
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-10">
               10
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-11">
               11
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a4e939489509-12">
               12
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a4e939489509-13">
               13
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-1">
               <span class="crayon-v">
                unzip
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-i">
                l
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                demo1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                0.1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                py2
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-cn">
                7.egg
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-2">
               <span class="crayon-v">
                Archive
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                demo1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                0.1
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                py2
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-cn">
                7.egg
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-3">
               <span class="crayon-e">
                Length
               </span>
               <span class="crayon-e">
                Date
               </span>
               <span class="crayon-k ">
                Time
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                Name
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-4">
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-5">
               <span class="crayon-cn">
                1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EGG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                dependency_links
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-i">
                txt
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-6">
               <span class="crayon-cn">
                177
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EGG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                PKG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-i">
                INFO
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-7">
               <span class="crayon-cn">
                141
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EGG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                SOURCES
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-i">
                txt
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-8">
               <span class="crayon-cn">
                5
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EGG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                top_level
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-i">
                txt
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-9">
               <span class="crayon-cn">
                1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EGG
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-v">
                INFO
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-k ">
                zip
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-i">
                safe
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-10">
               <span class="crayon-cn">
                102
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                48
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                __init__
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-i">
                py
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-11">
               <span class="crayon-cn">
                354
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                03
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                22
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                16
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                51
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                __init__
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-v">
                pyc
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a4e939489509-12">
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                --
               </span>
               <span class="crayon-o">
                -
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a4e939489509-13">
               <span class="crayon-cn">
                781
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                7
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                files
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0408 seconds] -->
       <p>
       </p>
       <p>
        我们看到其中已经多了
        <code>
         test
        </code>
        目录和
        <code>
         __init__.py
        </code>
        ,然后我们就可以尝试
        <strong>
         安装一下我们自己的包：
        </strong>
       </p>
       <figure class="highlight bash">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a55245782275" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          sudo python setup.py install
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a55245782275-1">
               1
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a55245782275-1">
               <span class="crayon-e">
                sudo
               </span>
               <span class="crayon-e">
                python
               </span>
               <span class="crayon-v">
                setup
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-e">
                py
               </span>
               <span class="crayon-v">
                install
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0008 seconds] -->
       <p>
       </p>
       <p>
        然后该包就会安装到 Python 的
        <code>
         site-packages
        </code>
        目录下，在我的电脑上为
        <code>
         /Library/Python/2.7/site-packages/demo1-0.1-py2.7.egg
        </code>
       </p>
       <p>
        这时我们可以在 Python 终端测试我们的包：
       </p>
       <figure class="highlight python">
       </figure>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57686b0362a5b085399117" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <span class="crayon-language">
           Python
          </span>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
&gt;&gt;&gt; import test
&gt;&gt;&gt; test.test()
hello world!
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-57686b0362a5b085399117-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a5b085399117-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a5b085399117-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a5b085399117-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-57686b0362a5b085399117-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-57686b0362a5b085399117-6">
               6
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-57686b0362a5b085399117-1">
               <span class="crayon-i">
                Python
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                2.7.10
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-v">
                default
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                Oct
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                23
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                2015
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                18
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                05
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-cn">
                06
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a5b085399117-2">
               <span class="crayon-sy">
                [
               </span>
               <span class="crayon-i">
                GCC
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                4.2.1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                Compatible
               </span>
               <span class="crayon-e">
                Apple
               </span>
               <span class="crayon-i">
                LLVM
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-cn">
                7.0.0
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-v">
                clang
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-cn">
                700.0.59.5
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ]
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                on
               </span>
               <span class="crayon-e">
                darwin
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a5b085399117-3">
               <span class="crayon-k ">
                Type
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                "help"
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                "copyright"
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                "credits"
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-st">
                or
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-s">
                "license"
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-st">
                for
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                more
               </span>
               <span class="crayon-v">
                information
               </span>
               <span class="crayon-sy">
                .
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a5b085399117-4">
               <span class="crayon-o">
                &gt;&gt;&gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-r">
                import
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
              </div>
              <div class="crayon-line" id="crayon-57686b0362a5b085399117-5">
               <span class="crayon-o">
                &gt;&gt;&gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-sy">
                .
               </span>
               <span class="crayon-k ">
                test
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-57686b0362a5b085399117-6">
               <span class="crayon-e">
                hello
               </span>
               <span class="crayon-v">
                world
               </span>
               <span class="crayon-o">
                !
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0128 seconds] -->
       <p>
       </p>
       <p>
        我们看到我们编写的包已经成功运行！
       </p>
       <h1 id="0x02_总结">
        0x02 总结
       </h1>
       <p>
        这篇文章主要介绍了一下 setuptools 是什么，以及它的功能和特点，并且介绍了如何使用它来创建和安装使用自己的包，这篇文章仅仅讲了最基本的功能和用法，一些对于进阶的用法会在下篇文章中进行介绍。
       </p>
       <hr/>
       <blockquote>
        <p>
         本文的版权归作者
         <a href="http://blog.luoyuanhang.com/">
          罗远航
         </a>
         所有，采用
         <a href="http://creativecommons.org/licenses/by-nc/3.0/" rel="external" target="_blank">
          Attribution-NonCommercial 3.0 License
         </a>
         。任何人可以进行转载、分享，但不可在未经允许的情况下用于商业用途；转载请注明出处。感谢配合！
        </p>
       </blockquote>
      </div>
      <div>
       <strong>
        注：转载文章均来自于公开网络，仅供学习使用，不会用于任何商业用途，如果侵犯到原作者的权益，请您与我们联系删除或者授权事宜，联系邮箱：contact@dataunion.org。转载数盟网站文章请注明原文章作者，否则产生的任何版权纠纷与数盟无关。
       </strong>
      </div>
      <!--content_text-->
      <div class="fenxian">
       <!-- JiaThis Button BEGIN -->
       <div class="jiathis_style_32x32">
        <p class="jiathis_button_weixin">
        </p>
        <p class="jiathis_button_tsina">
        </p>
        <p class="jiathis_button_qzone">
        </p>
        <p class="jiathis_button_cqq">
        </p>
        <p class="jiathis_button_tumblr">
        </p>
        <a class="jiathis jiathis_txt jtico jtico_jiathis" href="http://www.jiathis.com/share" target="_blank">
        </a>
        <p class="jiathis_counter_style">
        </p>
       </div>
       <!-- JiaThis Button END -->
      </div>
     </article>
     <!--content-->
     <!--相关文章-->
     <div class="xianguan">
      <div class="xianguantitle">
       相关文章！
      </div>
      <ul class="pic">
       <li>
        <a href="http://dataunion.org/24220.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/05/100910rrxp5plglxk4lcle-291x200.png"/>
        </a>
        <a class="link" href="http://dataunion.org/24220.html" rel="bookmark" title="520大数据：八成男性期待被表白 “套路”也是爱">
         520大数据：八成男性期待被表白 “套路”也是爱
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/23785.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/04/u7145986293872240263fm21gp0-298x200.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/23785.html" rel="bookmark" title="Docker安全基准：22项新增要点概述">
         Docker安全基准：22项新增要点概述
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/23703.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/04/1317020-300x163.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/23703.html" rel="bookmark" title="推荐：五个不容错过的数据科学家博客">
         推荐：五个不容错过的数据科学家博客
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/23507.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/03/110606wjpugdldig4idddn.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/23507.html" rel="bookmark" title="解密深度学习在智能推荐系统的实践与应用">
         解密深度学习在智能推荐系统的实践与应用
        </a>
       </li>
      </ul>
     </div>
     <!--相关文章-->
     <div class="comment" id="comments">
      <!-- You can start editing here. -->
      <!-- If comments are open, but there are no comments. -->
      <div class="title">
       期待你一针见血的评论，Come on！
      </div>
      <div id="respond">
       <p>
        不用想啦，马上
        <a href="http://dataunion.org/wp-login.php?redirect_to=http%3A%2F%2Fdataunion.org%2F23007.html">
         "登录"
        </a>
        发表自已的想法.
       </p>
      </div>
     </div>
     <!-- .nav-single -->
    </div>
    <!--Container End-->
    <aside id="sitebar">
     <div class="sitebar_list2">
      <div class="wptag">
       <span class="tagtitle">
        热门标签+
       </span>
       <div class="tagg">
        <ul class="menu" id="menu-%e5%8f%8b%e6%83%85%e9%93%be%e6%8e%a5">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1605" id="menu-item-1605">
          <a href="http://taidizh.com/">
           泰迪智慧
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20884" id="menu-item-20884">
          <a href="http://www.transwarp.cn/">
           星环科技
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3538" id="menu-item-3538">
          <a href="http://datall.org/">
           珈和遥感
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20888" id="menu-item-20888">
          <a href="http://www.chinahadoop.cn/">
           小象学院
          </a>
         </li>
        </ul>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <div class="textwidget">
       <div align="center">
        <a href="http://study.163.com/course/courseMain.htm?courseId=991022" target="_blank">
         <img src="http://dataunion.org/wp-content/uploads/2016/03/dv.jpg"/>
        </a>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       文章分类
      </h4>
      <div class="tagcloud">
       <a class="tag-link-44" href="http://dataunion.org/category/industry/demo" style="font-size: 10.204724409449pt;" title="4个话题">
        Demo展示
       </a>
       <a class="tag-link-31" href="http://dataunion.org/category/experts" style="font-size: 15.826771653543pt;" title="52个话题">
        专家团队
       </a>
       <a class="tag-link-870" href="http://dataunion.org/category/tech/ai" style="font-size: 19.795275590551pt;" title="273个话题">
        人工智能
       </a>
       <a class="tag-link-488" href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f" style="font-size: 8pt;" title="1个话题">
        加入数盟
       </a>
       <a class="tag-link-869" href="http://dataunion.org/category/tech/viz" style="font-size: 17.204724409449pt;" title="93个话题">
        可视化
       </a>
       <a class="tag-link-30" href="http://dataunion.org/category/partners" style="font-size: 10.645669291339pt;" title="5个话题">
        合作伙伴
       </a>
       <a class="tag-link-889" href="http://dataunion.org/category/parterc" style="font-size: 11.582677165354pt;" title="8个话题">
        合作会议
       </a>
       <a class="tag-link-104" href="http://dataunion.org/category/books" style="font-size: 12.96062992126pt;" title="15个话题">
        图书
       </a>
       <a class="tag-link-220" href="http://dataunion.org/category/tech/base" style="font-size: 19.850393700787pt;" title="281个话题">
        基础架构
       </a>
       <a class="tag-link-219" href="http://dataunion.org/category/tech/analysis" style="font-size: 19.409448818898pt;" title="232个话题">
        数据分析
       </a>
       <a class="tag-link-887" href="http://dataunion.org/category/tech/dm" style="font-size: 13.291338582677pt;" title="17个话题">
        数据挖掘
       </a>
       <a class="tag-link-34" href="http://dataunion.org/category/tech" style="font-size: 20.732283464567pt;" title="404个话题">
        文章
       </a>
       <a class="tag-link-1" href="http://dataunion.org/category/uncategorized" style="font-size: 22pt;" title="693个话题">
        未分类
       </a>
       <a class="tag-link-4" href="http://dataunion.org/category/events" style="font-size: 14.503937007874pt;" title="29个话题">
        活动
       </a>
       <a class="tag-link-890" href="http://dataunion.org/category/tech/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0" style="font-size: 10.204724409449pt;" title="4个话题">
        深度学习
       </a>
       <a class="tag-link-221" href="http://dataunion.org/category/tech/devl" style="font-size: 18.968503937008pt;" title="193个话题">
        编程语言
       </a>
       <a class="tag-link-888" href="http://dataunion.org/category/career" style="font-size: 15.661417322835pt;" title="48个话题">
        职业规划
       </a>
       <a class="tag-link-5" href="http://dataunion.org/category/jobs" style="font-size: 14.11811023622pt;" title="25个话题">
        职位
       </a>
       <a class="tag-link-871" href="http://dataunion.org/category/industry" style="font-size: 15.716535433071pt;" title="49个话题">
        行业
       </a>
       <a class="tag-link-613" href="http://dataunion.org/category/industry/case" style="font-size: 16.984251968504pt;" title="84个话题">
        行业应用
       </a>
       <a class="tag-link-885" href="http://dataunion.org/category/industry/news" style="font-size: 17.425196850394pt;" title="102个话题">
        行业资讯
       </a>
       <a class="tag-link-10" href="http://dataunion.org/category/training" style="font-size: 14.228346456693pt;" title="26个话题">
        课程
       </a>
       <a class="tag-link-16" href="http://dataunion.org/category/sources" style="font-size: 15.661417322835pt;" title="48个话题">
        资源
       </a>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       功能
      </h4>
      <ul>
       <li>
        <a href="http://dataunion.org/wp-login.php?action=register">
         注册
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/wp-login.php">
         登录
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/feed">
         文章
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/comments/feed">
         评论
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="https://cn.wordpress.org/" title="基于WordPress，一个优美、先进的个人信息发布平台。">
         WordPress.org
        </a>
       </li>
      </ul>
     </div>
    </aside>
    <div class="clear">
    </div>
   </div>
   <!--main-->
   ﻿
   <footer id="dibu">
    <div class="about">
     <div class="right">
      <ul class="menu" id="menu-%e5%ba%95%e9%83%a8%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18024" id="menu-item-18024">
        <a href="http://dataunion.org/category/partners">
         合作伙伴
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20881" id="menu-item-20881">
        <a href="http://dataunion.org/contribute">
         文章投稿
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20872" id="menu-item-20872">
        <a href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f">
         加入数盟
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22441" id="menu-item-22441">
        <a href="http://dataunion.org/f-links">
         友情链接
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20874" id="menu-item-20874">
        <a href="http://dataunion.org/aboutus">
         关于数盟
        </a>
       </li>
      </ul>
      <p class="banquan">
       数盟社区        ，
        做最棒的数据科学社区
      </p>
     </div>
     <div class="left">
      <ul class="bottomlist">
       <li>
        <a href="http://weibo.com/DataScientistUnion  " target="_blank" 　title="">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weibo.png"/>
        </a>
       </li>
       <li>
        <a class="cd-popup-trigger" href="http://dataunion.org/23007.html#0">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weixin.png"/>
        </a>
       </li>
      </ul>
      <div class="cd-popup">
       <div class="cd-popup-container">
        <h1>
         扫描二维码,加微信公众号
        </h1>
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/2014-12-06-1515289049.png"/>
        <a class="cd-popup-close" href="http://dataunion.org/23007.html">
        </a>
       </div>
       <!-- cd-popup-container -->
      </div>
      <!-- cd-popup -->
     </div>
    </div>
    <!--about-->
    <div class="bottom">
     <a href="http://dataunion.org/">
      数盟社区
     </a>
     <a href="http://www.miitbeian.gov.cn/" rel="external nofollow" target="_blank">
      京ICP备14026740号
     </a>
     联系我们：
     <a href="mailto:contact@dataunion.org" target="_blank">
      contact@dataunion.org
     </a>
     <div class="tongji">
     </div>
     <!--bottom-->
     <div class="scroll" id="scroll" style="display:none;">
      ︿
     </div>
    </div>
   </footer>
   <!--dibu-->
  </div>
 </body>
</html>